Self-service apparatus such as automated teller machines (ATMs), self-service kiosks, pay-as-you-go photocopiers, fax machines, internet terminals and the like typically comprise one or more sub-assemblies such as printers, card readers, cash dispensers and so on. Increasingly those sub-assemblies are provided as universal serial bus (USB) devices with an associated USB host in the form of a computer being at the self-service device.
In some situations communication loss or break down occurs between the USB devices and host in the self-service device. This is problematic because the sub-assemblies are then without the control of the host and operation of the self-service device is either prevented or curtailed.
The USB protocol itself provides some methods for resetting USB devices in order to try to re-establish communication over the USB link. However, these methods are often ineffective, for example, if the USB device is malfunctioning or not responding over the USB link. This is particularly problematic for self-service devices because a field engineer or operative must attend the site of the apparatus and manually reset the USB devices. This is time consuming and expensive.
USB connections are widely used today to enable connections between Personal Computers (PCs) and peripheral devices such as telephones, digital cameras, scanners, keyboards, mice and PDAs. The USB specification was developed by a group of companies including Compaq, Intel, Microsoft and NEC and the USB specification documents such as USB 1.1 and USB 2.0 are publicly available. The USB specification describes the bus attributes, protocol definition, transaction types, bus management and programming interface required to comply with the standard. Using this standard it is possible to provide a fast bi-directional, isochronous, low cost, dynamically attachable serial interface between a PC platform and one or more devices.